# 可以本地搭建一个镜像库，引用镜像即可
# 阿里云jdk17
FROM dragonwell-registry.cn-hangzhou.cr.aliyuncs.com/dragonwell/dragonwell:17

# 建了一个目录 /app，用于存放后续的文件和代码
RUN mkdir -p /app

# 指定了在接下来的命令中，工作目录都是 /app
WORKDIR /app

# 定义了构建参数 JAR_FILE，并且给了它一个默认值 app/myapp.jar。 把要打包的jar放大app目录下
# 这个参数可以在构建镜像时被传递，并在后续的命令中使用
ARG JAR_FILE=app/myapp.jar

# 这个命令将构建上下文中的 ${JAR_FILE} 路径下的文件复制到镜像中的
# /springboot-docker-deploy 目录，并且重命名为 app.jar
COPY ${JAR_FILE} app.jar

# 声明容器运行时监听的端口号
EXPOSE 8081

# 设置两个环境变量 TZ 和 JAVA_OPTS
# 分别用于指定时区为亚洲/上海，并设置了 Java 虚拟机的参数
ENV TZ=Asia/Shanghai JAVA_OPTS="-Xms128m -Xmx256m -Djava.security.egd=file:/dev/./urandom"

# 运行 java -jar app.jar 命令，并且传入 $JAVA_OPTS 参数
CMD sleep 30; java -jar app.jar $JAVA_OPTS

